<?php

require_once dirname(__FILE__).'/../lib/cierre_de_cajaGeneratorConfiguration.class.php';
require_once dirname(__FILE__).'/../lib/cierre_de_cajaGeneratorHelper.class.php';
//require_once dirname(__FILE__).'/../../../../../lib/impresion/fpdf.php';

/**
 * cierre_de_caja actions.
 *
 * @package    gescell
 * @subpackage cierre_de_caja
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 12474 2008-10-31 10:41:27Z fabien $
 */
class cierre_de_cajaActions extends autoCierre_de_cajaActions
{
    public function executeListVer(sfWebRequest $request){
        $id = $request->getParameter('id');
        /*$criteria =new criteria;
        $criteria->add(movimientosPeer::CIERRE_CAJA_ID, $id);
        */
        $this->cierre = cierre_de_cajaPeer::retrieveByPK($id);
        $this->detalles = movimientos::CierreCaja($id);
    }
    public function executeCerrar(sfWebRequest $request){
        $id = $request->getParameter('id');
        $cierre = cierre_de_cajaPeer::retrieveByPK($id);
        if ($cierre->getAbierto()){
             $cierre->setAbierto(false);$cierre->save();
        }
        $this->redirect('cierre_de_caja/imprimir?id='.$id);
    }
    public function executeImprimir(sfWebRequest $request){
                $cierre = $this->getRoute()->getObject();
                $detalles = movimientos::CierreCaja($cierre->getId());
                $ancho_cabecera_detalle=30;
                $alto_cabecera_detalle=5;
                $ancho_item = 10;
                $ancho_categoria = 50;
                $total_ingreso=0;$total_egreso=0;
                $pdf = informes::CrearReporte('Cierre De Caja');
                $pdf->Cell(180,10,'Periodo del Cierre: '.$cierre->getCreatedAt('d-m-Y').' y '.$cierre->getCreatedAt('d-m-Y'),0,1,'C',0);
                //Creacion de las cabeceras
                $pdf->SetFillColor(120,120,120);
                $pdf->SetTextColor(255);
                $pdf->Cell(15,$alto_cabecera_detalle,'',0,0,'C',0);
		$pdf->Cell($ancho_item,$alto_cabecera_detalle,'Item',1,0,'C',1);
		$pdf->Cell($ancho_categoria,$alto_cabecera_detalle,'Categoria',1,0,'C',1);
		$pdf->Cell($ancho_cabecera_detalle,$alto_cabecera_detalle,'Monto Ingreso',1,0,'C',1);
		$pdf->Cell($ancho_cabecera_detalle,$alto_cabecera_detalle,'Monto Egreso',1,0,'C',1);
		$pdf->Cell($ancho_cabecera_detalle,$alto_cabecera_detalle,'Saldo',1,0,'C',1);
                $pdf->Cell(15,$alto_cabecera_detalle,'',0,1,'C',0);
                //Fin de la cabecera
                $pdf->SetFillColor(255,255,255);
                $pdf->SetTextColor(0);
		$e = 1;
                //Creacion del Primer detalle
                $pdf->Cell(15,$alto_cabecera_detalle,'',0,0,'C',0);
		$pdf->Cell($ancho_item,$alto_cabecera_detalle,$e,1,0,'C',1);
		$pdf->Cell($ancho_categoria,$alto_cabecera_detalle,'Cierre Anterior',1,0,'L',1);
		$pdf->Cell($ancho_cabecera_detalle,$alto_cabecera_detalle,$cierre->getCierreAnterior(),1,0,'R',1);
		$pdf->Cell($ancho_cabecera_detalle,$alto_cabecera_detalle,0,1,0,'R',1);
                $total_ingreso = $cierre->getCierreAnterior();
                $saldo = $total_ingreso;
		$pdf->Cell($ancho_cabecera_detalle,$alto_cabecera_detalle,$cierre->getCierreAnterior(),1,0,'R',1);
                $pdf->Cell(15,$alto_cabecera_detalle,'',0,1,'C',0);
                $e++;
                 //Fin del Primer detalle
                //Inicio del bucle for each para recorrer el resto de los detalles
                foreach ($detalles as $detalle){
                    if($e%2 == 0){
                        $pdf->SetTextColor(255);
                        $pdf->SetFillColor(200);
                    }
                    else{
                        $pdf->SetTextColor(0);
                        $pdf->SetFillColor(255);
                    }
                    //Asignacion de Valores
                    $total_ingreso += $detalle['Total_Ingreso'];
                    $total_egreso += $detalle['Total_Egreso'];
                    $saldo += $detalle['Total_Ingreso'] - $detalle['Total_Egreso'];
                    //Fin de la Asignacion
                    //
                    $pdf->Cell(15,$alto_cabecera_detalle,'',0,0,'C',0);
		    $pdf->Cell($ancho_item,$alto_cabecera_detalle,$e++,1,0,'C',1);
		    $pdf->Cell($ancho_categoria,$alto_cabecera_detalle,$detalle['categorias'],1,0,'L',1);
		    $pdf->Cell($ancho_cabecera_detalle,$alto_cabecera_detalle,$detalle['Total_Ingreso'],1,0,'R',1);
		    $pdf->Cell($ancho_cabecera_detalle,$alto_cabecera_detalle,$detalle['Total_Egreso'],1,0,'R',1);
                    $pdf->Cell($ancho_cabecera_detalle,$alto_cabecera_detalle,$saldo,1,0,'R',1);     
                    $pdf->Cell(15,$alto_cabecera_detalle,'',0,1,'C',0);

                }
                //Fin del Bucle de detalles
                //
                $pdf->SetTextColor(0);
                $pdf->Cell(180,$alto_cabecera_detalle,'',0,1,'C',0);
                $pdf->Cell(25,$alto_cabecera_detalle,'',0,0,'C',0);
                $pdf->Cell($ancho_categoria,$alto_cabecera_detalle,'TOTAL INGRESOS',0,0,'L',0);
                $pdf->Cell(30,$alto_cabecera_detalle,$total_ingreso,0,1,'R',0);
                $pdf->Cell(25,$alto_cabecera_detalle,'',0,0,'C',0);
                $pdf->Cell($ancho_categoria,$alto_cabecera_detalle,'TOTAL EGRESOS',0,0,'L',0);
                $pdf->Cell(60,$alto_cabecera_detalle,$total_egreso,0,1,'R',0);
                $pdf->Cell(25,$alto_cabecera_detalle,'',0,0,'C',0);
                $pdf->Cell($ancho_categoria,$alto_cabecera_detalle,'TOTAL SALDO',0,0,'L',0);
                $pdf->Cell(90,$alto_cabecera_detalle,$total_ingreso - $total_egreso,0,1,'R',0);
                $pdf->Cell(15,$alto_cabecera_detalle,'',0,0,'C',0);
                $pdf->Cell(165,5,'La caja cierra con '.number_format($saldo),0,1,'L',0);
//La cabecera

                $pdf->Output('cierre_'.$cierre->getCreatedAt('d-m-Y').'.pdf','D');
                //$pdf->Output();
	        return sfView::NONE;
    //
    }
}
